An example of a switching system to which the present invention applies is described in U.S. Pat. No. 5,544,163, Expandable Telecommunications System, the contents of which are incorporated by reference herein. A telecommunication switching node described therein has line cards with multiple ports connected to subscriber's telephone lines or to other devices such as PSTN trunks. The switching node also includes a switch/matrix card and at least two system buses for switching calls received on one port to another port in the system. One of these buses is an incoming bus that passes messages from the line cards to the matrix card and the other is an outgoing bus which transmits messages from the matrix card to the line cards. In order to perform switching on calls, the switching node receives information from and transmits information to line card ports over the system buses at predetermined times known as time slots. Each time slot generally corresponds with a port on the switch. The time slots associated with each port and the software applications that manage calls on those time slots are generally termed “channels”.
Each call involves connection between two ports. Because communication between these ports is bi-directional, it thus requires four time slots on the system buses. One time slot is used for transmission from one port to the matrix card, a second time slot is used for retrieving information from matrix card and sending it to the other port; the other two time slots are used for transmissions in the other direction.
The telecommunications system also includes a host, i.e., a group of software applications that typically reside on a computer dedicated to those applications. The switching nodes on the system are interconnected by an internodal switching network. A second network termed the “host network,” interconnects the switching nodes and the host computer for supervisory control. The host, the switching nodes and the line cards each includes a software protocol application that processes calls at its level of the system. Specifically, a Layer 5 (L5) protocol application in the host manages calls at the host level; a Layer 4 protocol application (L4) in the switch manages calls at the switch level; and Layer 3 (L3) protocol applications in the line cards handle calls at the line card level of the system.
Traditionally, the L5 application in the host also managed the L4 functions in the switch. All requests from the L3 application to the L4 application were transmitted to the L5 application and the L5 application instructed the L4 application on how the handle each request. Since the L5 application was involved in directing nearly all real-time call processing on the switch, the message traffic between the switch and the host was high and this sometimes delayed the transmission of messages between the host and the switch. Moreover, if the host-to-switch link failed or if the host failed, the switch was basically rendered inoperable.
This problem was largely resolved by expanding the L4 application in the switch to provide functions previously performed exclusively in the L5 application. The expanded L4 application is a open and programmable layer that provides services such as, channel management, connection management, tone and announcement services and conference services. Channel management enables the L4 application to recognize incoming calls, answer calls, and release calls; connection management provides the ability to disconnect two channels, tone and announcement services provide the ability to play and receive tones and play announcements; and conference services provide the ability to connect multiple parties during a call. With the expanded L4 application, a system owner/operator might expand pre-defined L4 call management operations to accommodate unique call processing requirements. Thus, host applications may be simplified, or in some cases totally eliminated.
Each call on a time slot is associated with a subscriber profile which identifies the supplementary services available to that call. Examples of supplementary services include call waiting, call forwarding and conference calling among others. Applications that process these supplementary services reside in the host. Thus, when a call is received on one time slot from the L3 application, the L4 application transmits a request to the L5 application in order to identify the appropriate subscriber profile and supplementary services for that call. The L5 application locates the subscriber profile associated with the call, controls the supplementary services identified in the subscriber profile and returns the appropriate results to the L4 application. The L4 application then performs switching functions on the call. Since the switch still relies on the host to identify and process supplementary services, a host failure prevents the switching node from properly processing calls with supplementary services.
Moreover, when a supplementary service is added or modified, the L5 application must be updated. This increases the risk of introducing errors to the L5 application which may adversely affect the processing of supplementary services or other L5 functions.